Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - Support tls encryption and authentication #333

Closed
wants to merge 49 commits into from

Conversation

maltesander
Copy link
Member

@maltesander maltesander commented Nov 6, 2022

Description

  • Added TLS encryption
  • Added TLS Authenication

Currently CRD looks like:

apiVersion: druid.stackable.tech/v1alpha1
kind: DruidCluster
metadata:
  name: derby-druid
spec:
  version: 24.0.0-stackable0.1.0
  clusterConfig:
    authentication:
      tls:
        authenticationClass: druid-mtls-authentication-class
    deepStorage:
      hdfs:
        configMapName: druid-hdfs
        directory: /druid
    metadataStorageDatabase:
      dbType: derby
      connString: jdbc:derby://localhost:1527/var/druid/metadata.db;create=true
      host: localhost
      port: 1527
    tls:
      secretClass: tls
    zookeeperConfigMapName: druid-znode

Not quite happy for the authentication part, basically the same information is repeated in the referenced AuthenticationClass.

Still mergeable for now, we need to come up with a better way first.

Test: https://ci.stackable.tech/view/02%20Operator%20Tests%20(custom)/job/druid-operator-it-custom/37/

fixes #6

Review Checklist

  • Code contains useful comments
  • CRD change approved (or not applicable)
  • (Integration-)Test cases added (or not applicable)
  • Documentation added (or not applicable)
  • Changelog updated (or not applicable)
  • Cargo.toml only contains references to git tags (not specific commits or branches)
  • Helm chart can be installed and deployed operator works (or not applicable)

Once the review is done, comment bors r+ (or bors merge) to merge. Further information

@maltesander maltesander requested a review from a team November 6, 2022 15:26
@maltesander maltesander self-assigned this Nov 6, 2022
…ation

# Conflicts:
#	CHANGELOG.md
#	rust/crd/src/lib.rs
#	rust/operator-binary/src/druid_controller.rs
@maltesander maltesander added release-note Denotes a PR that will be considered when it comes time to generate release notes. release-note/action-required Denotes a PR that introduces potentially breaking changes that require user action. labels Nov 7, 2022
@razvan razvan requested review from razvan and vsupalov and removed request for a team November 10, 2022 08:51
Copy link
Member

@razvan razvan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is lot going on in here but it look very good in general

  1. The new example/tls is missing the Zookeeper resources
  2. Some additional (unit and integration) tests would help.
  3. The docs could be more clear what the difference between setting tls and authentication is.
    I haven't run the getting started code.

examples/tls/tls-druid-cluster.yaml Show resolved Hide resolved
rust/operator-binary/src/druid_controller.rs Show resolved Hide resolved
rust/crd/src/lib.rs Outdated Show resolved Hide resolved
rust/crd/src/lib.rs Show resolved Hide resolved
rust/crd/src/authentication.rs Show resolved Hide resolved
rust/crd/src/tls.rs Show resolved Hide resolved
rust/crd/src/tls.rs Show resolved Hide resolved
rust/operator-binary/src/druid_controller.rs Outdated Show resolved Hide resolved
rust/operator-binary/src/druid_controller.rs Show resolved Hide resolved
docs/modules/ROOT/pages/usage.adoc Outdated Show resolved Hide resolved
Copy link
Member

@razvan razvan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm.

@maltesander
Copy link
Member Author

@maltesander
Copy link
Member Author

bors merge

bors bot pushed a commit that referenced this pull request Nov 14, 2022
# Description

- Added TLS encryption
- Added TLS Authenication

Currently CRD looks like:
```
apiVersion: druid.stackable.tech/v1alpha1
kind: DruidCluster
metadata:
  name: derby-druid
spec:
  version: 24.0.0-stackable0.1.0
  clusterConfig:
    authentication:
      tls:
        authenticationClass: druid-mtls-authentication-class
    deepStorage:
      hdfs:
        configMapName: druid-hdfs
        directory: /druid
    metadataStorageDatabase:
      dbType: derby
      connString: jdbc:derby://localhost:1527/var/druid/metadata.db;create=true
      host: localhost
      port: 1527
    tls:
      secretClass: tls
    zookeeperConfigMapName: druid-znode
```

Not quite happy for the authentication part, basically the same information is repeated in the referenced AuthenticationClass. 

Still mergeable for now, we need to come up with a better way first.

Test: https://ci.stackable.tech/view/02%20Operator%20Tests%20(custom)/job/druid-operator-it-custom/37/

fixes #6



Co-authored-by: Malte Sander <[email protected]>
@bors
Copy link
Contributor

bors bot commented Nov 14, 2022

Pull request successfully merged into main.

Build succeeded:

@bors bors bot changed the title Support tls encryption and authentication [Merged by Bors] - Support tls encryption and authentication Nov 14, 2022
@bors bors bot closed this Nov 14, 2022
@bors bors bot deleted the support_tls_authentication branch November 14, 2022 09:25
bors bot pushed a commit that referenced this pull request Nov 14, 2022
# Description

This doesn't add or change any functionality.

Fixes #335 

Required for #306 

This is based on #333 and has to be merged after that.

:green_circle: CI: https://ci.stackable.tech/view/02%20Operator%20Tests%20(custom)/job/druid-operator-it-custom/39/

## Review Checklist

- [x] Code contains useful comments
- [x] CRD change approved (or not applicable)
- [x] (Integration-)Test cases added (or not applicable)
- [x] Documentation added (or not applicable)
- [x] Changelog updated (or not applicable)
- [x] Cargo.toml only contains references to git tags (not specific commits or branches)
- [x] Helm chart can be installed and deployed operator works (or not applicable)

Once the review is done, comment `bors r+` (or `bors merge`) to merge. [Further information](https://bors.tech/documentation/getting-started/#reviewing-pull-requests)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-note/action-required Denotes a PR that introduces potentially breaking changes that require user action. release-note Denotes a PR that will be considered when it comes time to generate release notes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support TLS authentication & encryption with provided certificates
2 participants